/**
 * <copyright>
 * </copyright>
 *

 */
package edu.uwaterloo.bicycle.modeLanguage;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see edu.uwaterloo.bicycle.modeLanguage.ModeLanguageFactory
 * @model kind="package"
 * @generated
 */
public interface ModeLanguagePackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "modeLanguage";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.uwaterloo.edu/modelanguage/ModeLanguage";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "modeLanguage";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  ModeLanguagePackage eINSTANCE = edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl.init();

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ModelImpl <em>Model</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModelImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getModel()
   * @generated
   */
  int MODEL = 0;

  /**
   * The feature id for the '<em><b>Modes</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODEL__MODES = 0;

  /**
   * The number of structural features of the '<em>Model</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODEL_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ModeImpl <em>Mode</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getMode()
   * @generated
   */
  int MODE = 1;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODE__NAME = 0;

  /**
   * The feature id for the '<em><b>Inv</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODE__INV = 1;

  /**
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODE__TYPE = 2;

  /**
   * The feature id for the '<em><b>Condition</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODE__CONDITION = 3;

  /**
   * The feature id for the '<em><b>Expr</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODE__EXPR = 4;

  /**
   * The number of structural features of the '<em>Mode</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODE_FEATURE_COUNT = 5;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ConditionsImpl <em>Conditions</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ConditionsImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getConditions()
   * @generated
   */
  int CONDITIONS = 2;

  /**
   * The number of structural features of the '<em>Conditions</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONDITIONS_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ExpressionImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getExpression()
   * @generated
   */
  int EXPRESSION = 3;

  /**
   * The feature id for the '<em><b>Brackexpr</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EXPRESSION__BRACKEXPR = CONDITIONS_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Expression</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EXPRESSION_FEATURE_COUNT = CONDITIONS_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.AndCondImpl <em>And Cond</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.AndCondImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getAndCond()
   * @generated
   */
  int AND_COND = 4;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int AND_COND__LEFT = CONDITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int AND_COND__RIGHT = CONDITIONS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>And Cond</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int AND_COND_FEATURE_COUNT = CONDITIONS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.OrCondImpl <em>Or Cond</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.OrCondImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getOrCond()
   * @generated
   */
  int OR_COND = 5;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OR_COND__LEFT = CONDITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OR_COND__RIGHT = CONDITIONS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Or Cond</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OR_COND_FEATURE_COUNT = CONDITIONS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.GreaterThanImpl <em>Greater Than</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.GreaterThanImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getGreaterThan()
   * @generated
   */
  int GREATER_THAN = 6;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GREATER_THAN__LEFT = CONDITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GREATER_THAN__RIGHT = CONDITIONS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Greater Than</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GREATER_THAN_FEATURE_COUNT = CONDITIONS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.LessThanImpl <em>Less Than</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.LessThanImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getLessThan()
   * @generated
   */
  int LESS_THAN = 7;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LESS_THAN__LEFT = CONDITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LESS_THAN__RIGHT = CONDITIONS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Less Than</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LESS_THAN_FEATURE_COUNT = CONDITIONS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.EqualToImpl <em>Equal To</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.EqualToImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getEqualTo()
   * @generated
   */
  int EQUAL_TO = 8;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EQUAL_TO__LEFT = CONDITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EQUAL_TO__RIGHT = CONDITIONS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Equal To</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EQUAL_TO_FEATURE_COUNT = CONDITIONS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.PlusImpl <em>Plus</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.PlusImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getPlus()
   * @generated
   */
  int PLUS = 9;

  /**
   * The feature id for the '<em><b>Brackexpr</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PLUS__BRACKEXPR = EXPRESSION__BRACKEXPR;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PLUS__LEFT = EXPRESSION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PLUS__RIGHT = EXPRESSION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Plus</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PLUS_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.MinusImpl <em>Minus</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.MinusImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getMinus()
   * @generated
   */
  int MINUS = 10;

  /**
   * The feature id for the '<em><b>Brackexpr</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MINUS__BRACKEXPR = EXPRESSION__BRACKEXPR;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MINUS__LEFT = EXPRESSION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MINUS__RIGHT = EXPRESSION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Minus</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MINUS_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.MultiImpl <em>Multi</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.MultiImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getMulti()
   * @generated
   */
  int MULTI = 11;

  /**
   * The feature id for the '<em><b>Brackexpr</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MULTI__BRACKEXPR = EXPRESSION__BRACKEXPR;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MULTI__LEFT = EXPRESSION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MULTI__RIGHT = EXPRESSION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Multi</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MULTI_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.DivImpl <em>Div</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.DivImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getDiv()
   * @generated
   */
  int DIV = 12;

  /**
   * The feature id for the '<em><b>Brackexpr</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DIV__BRACKEXPR = EXPRESSION__BRACKEXPR;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DIV__LEFT = EXPRESSION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DIV__RIGHT = EXPRESSION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Div</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DIV_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ModImpl <em>Mod</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getMod()
   * @generated
   */
  int MOD = 13;

  /**
   * The feature id for the '<em><b>Brackexpr</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MOD__BRACKEXPR = EXPRESSION__BRACKEXPR;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MOD__LEFT = EXPRESSION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MOD__RIGHT = EXPRESSION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Mod</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MOD_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.NumberLiteralImpl <em>Number Literal</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.NumberLiteralImpl
   * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getNumberLiteral()
   * @generated
   */
  int NUMBER_LITERAL = 14;

  /**
   * The feature id for the '<em><b>Brackexpr</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NUMBER_LITERAL__BRACKEXPR = EXPRESSION__BRACKEXPR;

  /**
   * The feature id for the '<em><b>Value</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NUMBER_LITERAL__VALUE = EXPRESSION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Mode</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NUMBER_LITERAL__MODE = EXPRESSION_FEATURE_COUNT + 1;

  /**
   * The feature id for the '<em><b>Bim</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NUMBER_LITERAL__BIM = EXPRESSION_FEATURE_COUNT + 2;

  /**
   * The number of structural features of the '<em>Number Literal</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NUMBER_LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;


  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.Model <em>Model</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Model</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Model
   * @generated
   */
  EClass getModel();

  /**
   * Returns the meta object for the containment reference list '{@link edu.uwaterloo.bicycle.modeLanguage.Model#getModes <em>Modes</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Modes</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Model#getModes()
   * @see #getModel()
   * @generated
   */
  EReference getModel_Modes();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.Mode <em>Mode</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Mode</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Mode
   * @generated
   */
  EClass getMode();

  /**
   * Returns the meta object for the attribute '{@link edu.uwaterloo.bicycle.modeLanguage.Mode#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Mode#getName()
   * @see #getMode()
   * @generated
   */
  EAttribute getMode_Name();

  /**
   * Returns the meta object for the attribute '{@link edu.uwaterloo.bicycle.modeLanguage.Mode#isInv <em>Inv</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Inv</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Mode#isInv()
   * @see #getMode()
   * @generated
   */
  EAttribute getMode_Inv();

  /**
   * Returns the meta object for the attribute '{@link edu.uwaterloo.bicycle.modeLanguage.Mode#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Mode#getType()
   * @see #getMode()
   * @generated
   */
  EAttribute getMode_Type();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Mode#getCondition <em>Condition</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Condition</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Mode#getCondition()
   * @see #getMode()
   * @generated
   */
  EReference getMode_Condition();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Mode#getExpr <em>Expr</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Expr</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Mode#getExpr()
   * @see #getMode()
   * @generated
   */
  EReference getMode_Expr();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.Conditions <em>Conditions</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Conditions</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Conditions
   * @generated
   */
  EClass getConditions();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.Expression <em>Expression</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Expression</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Expression
   * @generated
   */
  EClass getExpression();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Expression#getBrackexpr <em>Brackexpr</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Brackexpr</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Expression#getBrackexpr()
   * @see #getExpression()
   * @generated
   */
  EReference getExpression_Brackexpr();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.AndCond <em>And Cond</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>And Cond</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.AndCond
   * @generated
   */
  EClass getAndCond();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.AndCond#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.AndCond#getLeft()
   * @see #getAndCond()
   * @generated
   */
  EReference getAndCond_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.AndCond#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.AndCond#getRight()
   * @see #getAndCond()
   * @generated
   */
  EReference getAndCond_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.OrCond <em>Or Cond</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Or Cond</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.OrCond
   * @generated
   */
  EClass getOrCond();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.OrCond#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.OrCond#getLeft()
   * @see #getOrCond()
   * @generated
   */
  EReference getOrCond_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.OrCond#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.OrCond#getRight()
   * @see #getOrCond()
   * @generated
   */
  EReference getOrCond_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.GreaterThan <em>Greater Than</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Greater Than</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.GreaterThan
   * @generated
   */
  EClass getGreaterThan();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.GreaterThan#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.GreaterThan#getLeft()
   * @see #getGreaterThan()
   * @generated
   */
  EReference getGreaterThan_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.GreaterThan#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.GreaterThan#getRight()
   * @see #getGreaterThan()
   * @generated
   */
  EReference getGreaterThan_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.LessThan <em>Less Than</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Less Than</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.LessThan
   * @generated
   */
  EClass getLessThan();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.LessThan#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.LessThan#getLeft()
   * @see #getLessThan()
   * @generated
   */
  EReference getLessThan_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.LessThan#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.LessThan#getRight()
   * @see #getLessThan()
   * @generated
   */
  EReference getLessThan_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.EqualTo <em>Equal To</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Equal To</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.EqualTo
   * @generated
   */
  EClass getEqualTo();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.EqualTo#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.EqualTo#getLeft()
   * @see #getEqualTo()
   * @generated
   */
  EReference getEqualTo_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.EqualTo#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.EqualTo#getRight()
   * @see #getEqualTo()
   * @generated
   */
  EReference getEqualTo_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.Plus <em>Plus</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Plus</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Plus
   * @generated
   */
  EClass getPlus();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Plus#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Plus#getLeft()
   * @see #getPlus()
   * @generated
   */
  EReference getPlus_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Plus#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Plus#getRight()
   * @see #getPlus()
   * @generated
   */
  EReference getPlus_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.Minus <em>Minus</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Minus</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Minus
   * @generated
   */
  EClass getMinus();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Minus#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Minus#getLeft()
   * @see #getMinus()
   * @generated
   */
  EReference getMinus_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Minus#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Minus#getRight()
   * @see #getMinus()
   * @generated
   */
  EReference getMinus_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.Multi <em>Multi</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Multi</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Multi
   * @generated
   */
  EClass getMulti();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Multi#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Multi#getLeft()
   * @see #getMulti()
   * @generated
   */
  EReference getMulti_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Multi#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Multi#getRight()
   * @see #getMulti()
   * @generated
   */
  EReference getMulti_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.Div <em>Div</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Div</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Div
   * @generated
   */
  EClass getDiv();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Div#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Div#getLeft()
   * @see #getDiv()
   * @generated
   */
  EReference getDiv_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Div#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Div#getRight()
   * @see #getDiv()
   * @generated
   */
  EReference getDiv_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.Mod <em>Mod</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Mod</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Mod
   * @generated
   */
  EClass getMod();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Mod#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Left</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Mod#getLeft()
   * @see #getMod()
   * @generated
   */
  EReference getMod_Left();

  /**
   * Returns the meta object for the containment reference '{@link edu.uwaterloo.bicycle.modeLanguage.Mod#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Right</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.Mod#getRight()
   * @see #getMod()
   * @generated
   */
  EReference getMod_Right();

  /**
   * Returns the meta object for class '{@link edu.uwaterloo.bicycle.modeLanguage.NumberLiteral <em>Number Literal</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Number Literal</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.NumberLiteral
   * @generated
   */
  EClass getNumberLiteral();

  /**
   * Returns the meta object for the attribute '{@link edu.uwaterloo.bicycle.modeLanguage.NumberLiteral#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Value</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.NumberLiteral#getValue()
   * @see #getNumberLiteral()
   * @generated
   */
  EAttribute getNumberLiteral_Value();

  /**
   * Returns the meta object for the reference '{@link edu.uwaterloo.bicycle.modeLanguage.NumberLiteral#getMode <em>Mode</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Mode</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.NumberLiteral#getMode()
   * @see #getNumberLiteral()
   * @generated
   */
  EReference getNumberLiteral_Mode();

  /**
   * Returns the meta object for the attribute '{@link edu.uwaterloo.bicycle.modeLanguage.NumberLiteral#getBim <em>Bim</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Bim</em>'.
   * @see edu.uwaterloo.bicycle.modeLanguage.NumberLiteral#getBim()
   * @see #getNumberLiteral()
   * @generated
   */
  EAttribute getNumberLiteral_Bim();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  ModeLanguageFactory getModeLanguageFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ModelImpl <em>Model</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModelImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getModel()
     * @generated
     */
    EClass MODEL = eINSTANCE.getModel();

    /**
     * The meta object literal for the '<em><b>Modes</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MODEL__MODES = eINSTANCE.getModel_Modes();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ModeImpl <em>Mode</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getMode()
     * @generated
     */
    EClass MODE = eINSTANCE.getMode();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute MODE__NAME = eINSTANCE.getMode_Name();

    /**
     * The meta object literal for the '<em><b>Inv</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute MODE__INV = eINSTANCE.getMode_Inv();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute MODE__TYPE = eINSTANCE.getMode_Type();

    /**
     * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MODE__CONDITION = eINSTANCE.getMode_Condition();

    /**
     * The meta object literal for the '<em><b>Expr</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MODE__EXPR = eINSTANCE.getMode_Expr();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ConditionsImpl <em>Conditions</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ConditionsImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getConditions()
     * @generated
     */
    EClass CONDITIONS = eINSTANCE.getConditions();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ExpressionImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getExpression()
     * @generated
     */
    EClass EXPRESSION = eINSTANCE.getExpression();

    /**
     * The meta object literal for the '<em><b>Brackexpr</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference EXPRESSION__BRACKEXPR = eINSTANCE.getExpression_Brackexpr();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.AndCondImpl <em>And Cond</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.AndCondImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getAndCond()
     * @generated
     */
    EClass AND_COND = eINSTANCE.getAndCond();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference AND_COND__LEFT = eINSTANCE.getAndCond_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference AND_COND__RIGHT = eINSTANCE.getAndCond_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.OrCondImpl <em>Or Cond</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.OrCondImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getOrCond()
     * @generated
     */
    EClass OR_COND = eINSTANCE.getOrCond();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference OR_COND__LEFT = eINSTANCE.getOrCond_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference OR_COND__RIGHT = eINSTANCE.getOrCond_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.GreaterThanImpl <em>Greater Than</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.GreaterThanImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getGreaterThan()
     * @generated
     */
    EClass GREATER_THAN = eINSTANCE.getGreaterThan();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference GREATER_THAN__LEFT = eINSTANCE.getGreaterThan_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference GREATER_THAN__RIGHT = eINSTANCE.getGreaterThan_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.LessThanImpl <em>Less Than</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.LessThanImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getLessThan()
     * @generated
     */
    EClass LESS_THAN = eINSTANCE.getLessThan();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference LESS_THAN__LEFT = eINSTANCE.getLessThan_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference LESS_THAN__RIGHT = eINSTANCE.getLessThan_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.EqualToImpl <em>Equal To</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.EqualToImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getEqualTo()
     * @generated
     */
    EClass EQUAL_TO = eINSTANCE.getEqualTo();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference EQUAL_TO__LEFT = eINSTANCE.getEqualTo_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference EQUAL_TO__RIGHT = eINSTANCE.getEqualTo_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.PlusImpl <em>Plus</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.PlusImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getPlus()
     * @generated
     */
    EClass PLUS = eINSTANCE.getPlus();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PLUS__LEFT = eINSTANCE.getPlus_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PLUS__RIGHT = eINSTANCE.getPlus_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.MinusImpl <em>Minus</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.MinusImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getMinus()
     * @generated
     */
    EClass MINUS = eINSTANCE.getMinus();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MINUS__LEFT = eINSTANCE.getMinus_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MINUS__RIGHT = eINSTANCE.getMinus_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.MultiImpl <em>Multi</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.MultiImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getMulti()
     * @generated
     */
    EClass MULTI = eINSTANCE.getMulti();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MULTI__LEFT = eINSTANCE.getMulti_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MULTI__RIGHT = eINSTANCE.getMulti_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.DivImpl <em>Div</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.DivImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getDiv()
     * @generated
     */
    EClass DIV = eINSTANCE.getDiv();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference DIV__LEFT = eINSTANCE.getDiv_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference DIV__RIGHT = eINSTANCE.getDiv_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.ModImpl <em>Mod</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getMod()
     * @generated
     */
    EClass MOD = eINSTANCE.getMod();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MOD__LEFT = eINSTANCE.getMod_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MOD__RIGHT = eINSTANCE.getMod_Right();

    /**
     * The meta object literal for the '{@link edu.uwaterloo.bicycle.modeLanguage.impl.NumberLiteralImpl <em>Number Literal</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.NumberLiteralImpl
     * @see edu.uwaterloo.bicycle.modeLanguage.impl.ModeLanguagePackageImpl#getNumberLiteral()
     * @generated
     */
    EClass NUMBER_LITERAL = eINSTANCE.getNumberLiteral();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute NUMBER_LITERAL__VALUE = eINSTANCE.getNumberLiteral_Value();

    /**
     * The meta object literal for the '<em><b>Mode</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference NUMBER_LITERAL__MODE = eINSTANCE.getNumberLiteral_Mode();

    /**
     * The meta object literal for the '<em><b>Bim</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute NUMBER_LITERAL__BIM = eINSTANCE.getNumberLiteral_Bim();

  }

} //ModeLanguagePackage
